package ihm;

import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;

public class MainMenu extends JFrame implements ActionListener {

	private JPanel contentPane;
	private JMenuBar menuBar;
	private JMenu menuFilm;
	private JMenuItem menuAjouterFilm;
	private JMenu menuFichier;
	private JMenuItem menuFichierQuitter;
	private JPanel panel;
	private JLabel lblBienvenueDansLe;
	private JMenu menuGenre;
	private JMenuItem menuAjouterGenre;
	private JMenu menuActeur;
	private JMenuItem menuAjouterActeur;
	private JMenu menuClient;
	private JMenuItem menuAjouterClient;
	private JMenuItem menuModifierSupprimerFilm;
	private JMenuItem menuModifierSupprimerGenre;
	private JMenuItem menuModifierSupprimerActeur;
	private JMenuItem menuModifierSupprimerClient;
	private JMenu mnLocation;
	private JMenuItem menuAjouterLocation;
	private JMenuItem menuModifierSupprimerLocation;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args)
	{
		EventQueue.invokeLater(new Runnable()
		{
			public void run()
			{
				try {
					MainMenu frame = new MainMenu();
					frame.setVisible(true);
					frame.setResizable(false);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public MainMenu()
	{
		setTitle("Video Club");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 900, 600);
		
		menuBar = new JMenuBar();
		setJMenuBar(menuBar);
		
		menuFichier = new JMenu("Fichier");
		menuBar.add(menuFichier);
		
		menuFichierQuitter = new JMenuItem("Quitter");
		menuFichierQuitter.addActionListener(this);
		menuFichier.add(menuFichierQuitter);
		
		menuFilm = new JMenu("Film");
		menuBar.add(menuFilm);
		
		menuAjouterFilm = new JMenuItem("Ajouter");
		menuAjouterFilm.addActionListener(this);
		menuFilm.add(menuAjouterFilm);
		
		menuModifierSupprimerFilm = new JMenuItem("Modifier / Supprimer");
		menuModifierSupprimerFilm.addActionListener(this);
		menuFilm.add(menuModifierSupprimerFilm);
		
		menuGenre = new JMenu("Genre");
		menuBar.add(menuGenre);
		
		menuAjouterGenre = new JMenuItem("Ajouter");
		menuAjouterGenre.addActionListener(this);
		menuGenre.add(menuAjouterGenre);
		
		menuModifierSupprimerGenre = new JMenuItem("Modifier / Supprimer");
		menuModifierSupprimerGenre.addActionListener(this);
		menuGenre.add(menuModifierSupprimerGenre);
		
		menuActeur = new JMenu("Acteur");
		menuBar.add(menuActeur);
		
		menuAjouterActeur = new JMenuItem("Ajouter");
		menuAjouterActeur.addActionListener(this);
		menuActeur.add(menuAjouterActeur);
		
		menuModifierSupprimerActeur = new JMenuItem("Modifier / Supprimer");
		menuModifierSupprimerActeur.addActionListener(this);
		menuActeur.add(menuModifierSupprimerActeur);
		
		menuClient = new JMenu("Client");
		menuBar.add(menuClient);
		
		menuAjouterClient = new JMenuItem("Ajouter");
		menuAjouterClient.addActionListener(this);
		menuClient.add(menuAjouterClient);
		
		menuModifierSupprimerClient = new JMenuItem("Modifier / Supprimer");
		menuModifierSupprimerClient.addActionListener(this);
		menuClient.add(menuModifierSupprimerClient);
		
		mnLocation = new JMenu("Location");
		menuBar.add(mnLocation);
		
		menuAjouterLocation = new JMenuItem("Ajouter");
		menuAjouterLocation.addActionListener(this);
		mnLocation.add(menuAjouterLocation);
		
		menuModifierSupprimerLocation = new JMenuItem("Modifier / Supprimer");
		menuModifierSupprimerLocation.addActionListener(this);
		mnLocation.add(menuModifierSupprimerLocation);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		contentPane.setLayout(new BorderLayout(0, 0));
		setContentPane(contentPane);
		
		panel = new JPanel();
		contentPane.add(panel, BorderLayout.CENTER);
		panel.setLayout(null);
		
		lblBienvenueDansLe = new JLabel("Bienvenue dans le gestionnaire Video Club !");
		lblBienvenueDansLe.setFont(new Font("Segoe UI", Font.PLAIN, 24));
		lblBienvenueDansLe.setBounds(10, 11, 496, 32);
		panel.add(lblBienvenueDansLe);
		
		//disableMenu();
	}
	
	//ne fonctionne pas, a voir !
	public void disableMenu()
	{
		if (dao.DaoVideoclub.nbElementsReq("film") == 0)
		{
			this.menuModifierSupprimerFilm.setEnabled(false);
		}
		else
		{
			this.menuModifierSupprimerFilm.setEnabled(true);
		}
	}

	public void actionPerformed(ActionEvent evt) {
		
		if (evt.getSource() == menuFichierQuitter)
		{
			System.exit(0);
		}
		
		if (evt.getSource() == menuAjouterFilm)
		{
			FilmAjouter frmFilmAjouter = new FilmAjouter();
			this.contentPane.removeAll();
			this.contentPane.add(frmFilmAjouter);
			frmFilmAjouter.setVisible(true);
			panel.setVisible(false);
		}
		
		if (evt.getSource() == menuModifierSupprimerFilm)
		{
			FilmModifierSupprimer frmFilmModifierSupprimer = new FilmModifierSupprimer();
			this.contentPane.removeAll();
			this.contentPane.add(frmFilmModifierSupprimer);
			frmFilmModifierSupprimer.setVisible(true);
			panel.setVisible(false);
		}
		
		if (evt.getSource() == menuAjouterGenre)
		{
			GenreAjouter frmGenreAjouter = new GenreAjouter();
			this.contentPane.removeAll();
			this.contentPane.add(frmGenreAjouter);
			frmGenreAjouter.setVisible(true);
			panel.setVisible(false);
		}
		
		if (evt.getSource() == menuModifierSupprimerGenre)
		{
			GenreModifierSupprimer frmGenreModifierSupprimer = new GenreModifierSupprimer();
			this.contentPane.removeAll();
			this.contentPane.add(frmGenreModifierSupprimer);
			frmGenreModifierSupprimer.setVisible(true);
			panel.setVisible(false);
		}
		
		if (evt.getSource() == menuAjouterActeur)
		{
			ActeurAjouter frmActeurAjouter = new ActeurAjouter();
			this.contentPane.removeAll();
			this.contentPane.add(frmActeurAjouter);
			frmActeurAjouter.setVisible(true);
			panel.setVisible(false);
		}
		
		if (evt.getSource() == menuModifierSupprimerActeur)
		{
			ActeurModifierSupprimer frmActeurModifierSupprimer = new ActeurModifierSupprimer();
			this.contentPane.removeAll();
			this.contentPane.add(frmActeurModifierSupprimer);
			frmActeurModifierSupprimer.setVisible(true);
			panel.setVisible(false);
		}
		
		if (evt.getSource() == menuAjouterClient)
		{
			ClientAjouter frmClientAjouter = new ClientAjouter();
			this.contentPane.removeAll();
			this.contentPane.add(frmClientAjouter);
			frmClientAjouter.setVisible(true);
			panel.setVisible(false);
		}
		
		if (evt.getSource() == menuModifierSupprimerClient)
		{
			ClientModifierSupprimer frmClientModifierSupprimer = new ClientModifierSupprimer();
			this.contentPane.removeAll();
			this.contentPane.add(frmClientModifierSupprimer);
			frmClientModifierSupprimer.setVisible(true);
			panel.setVisible(false);
		}
		
		if (evt.getSource() == menuAjouterLocation)
		{
			LocationAjouter frmLocationAjouter = new LocationAjouter();
			this.contentPane.removeAll();
			this.contentPane.add(frmLocationAjouter);
			frmLocationAjouter.setVisible(true);
			panel.setVisible(false);
		}
		
		if (evt.getSource() == menuModifierSupprimerLocation)
		{
			LocationModifierSupprimer frmLocationModifierSupprimer = new LocationModifierSupprimer();
			this.contentPane.removeAll();
			this.contentPane.add(frmLocationModifierSupprimer);
			frmLocationModifierSupprimer.setVisible(true);
			panel.setVisible(false);
		}
	}
}
